package com.day09.school;

public class LangTeacherTest {
    public static void main(String[] args) {
        // =左侧我们称其为编译时类型，=右侧我们称其为运行时类型。
        Teacher tea = new LangTeacher();
//        tea.shangKe();
        // tea.langSong();// 在多态状态下，只能访问父类中的方法，子类独有的方法是无法访问。

        // 多态状态下调用方法是看编译时类型，编译时类型有的就可以调用编译时没有的就不能调用。
        // 方法运行看运行时类型，所以运行时是靠子类的方法工作。
        // 如果在多态状态下想调用子类独有的方法，使用父类的引用类型是不能调用的(因为看不见)
        // 想要看见子类独有的方法，就必须将编译时类型也变成子类类型。
//        LangTeacher lt = (LangTeacher)tea;
//        lt.shangKe();
//        lt.langSong();

        MathTeacher mt = new MathTeacher();
        EnglisthTeacher et = new EnglisthTeacher();
        Master master = new Master();
        master.sendTeacher(tea);

    }
}
